The present disclosure relates to computer software, and more specifically, to computer software which efficiently detects architecture-related bugs during the porting process.
Software projects are typically developed for a specific system architecture, such as x86, Power, or other platforms. The software project may be stored in a source code repository, and may be updated by developers using “commits,” which add the latest changes to the code to the repository. However, porting software projects to a new architecture is not as simple as a “copy and paste” operation. When building a software project on a new architecture for the first time, certain types of well-characterized failures often occur. Users must make changes to the current version or remove error-causing commits such that the software builds successfully on the target architecture. This process is error-prone, manual, and is not a “cookie cutter” process. Identifying certain classes of errors or code styles (e.g. architecture checks for x86, inline assembly, and environment-specific build options) may each cause different types of errors. Developers need a more efficient way to port software projects from a source architecture to a target architecture.